//
//  ACPPropertyModel.h
//  AutoCreatePropertyDemo
//
//  Created by anmin on 2017/11/27.
//  Copyright © 2017年 puhui. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef NS_ENUM(NSUInteger, ACPModelType) {
    ACPModelTypeInt = 0,//整数型 一般使用Integer解析
    ACPModelTypeFloat,//浮点型 一般使用double解析
    ACPModelTypeBool, //bool
    ACPModelTypeNumber,//number类型 -- 本工具中仅适用于数组的泛型
    ACPModelTypeString,//字符串类型
    ACPModelTypeArray,//数组类型
    ACPModelTypeCustomModel,//自定义的model
};

@interface ACPPropertyModel : NSObject

@property (assign, nonatomic) ACPModelType type;
@property (strong, nonatomic, nonnull) NSString *propertyClassName; //不能为空 -- 自定义时 不带前缀
@property (strong, nonatomic, nullable) NSString *propertKey;//当模型作为数组类型的subModel时 可以为空

@property (strong, nonatomic, nullable) NSString *propertySuperClassName; //当property类为自定义类时，不为空; develop sdk中的类 本属性为空
@property (strong, nonatomic, nullable) ACPPropertyModel *subModel; //数组类型的时候 可能不为空
@property (strong, nonatomic, nullable) NSDictionary *dict;//type == ACPModelTypeCustomModel 不为空

@property (assign, nonatomic) BOOL isContainPrefix;
@property (assign, nonatomic) BOOL isNeedAutoSubModelFile;

@end
